package com.sundablog.service.backend.system.upms.permissions;

import java.util.List;

import com.sundablog.pojo.AdminPermission;
import com.sundablog.result.LayUiResult;
import com.sundablog.result.ZTreeResult;

/**
 * 权限接口类
 * @ClassName:  PermissionsService   
 * @Description:权限接口类   
 * @author: 哒哒 
 * @date:   2018年3月14日 下午6:54:53   
 *     
 * @Copyright: 2018 www.sundablog.com Inc. All rights reserved.
 */
public interface PermissionsService {
	
	/**
	 * 添加一条权限
	 * @Title: addPermissions   
	 * @Description: 添加一条权限   
	 * @param: @param adminPermission 
	 * @param: @return      
	 * @return: 
	 * @throws
	 */
	int addPermissions(AdminPermission adminPermission);
	/**
	 * 修改一条权限数据
	 * @Title: updataPermissions   
	 * @Description: 修改一条权限数据   
	 * @param: @param adminPermission
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int updataPermissions(AdminPermission adminPermission);
	/**
	 * 禁用一条权限(注意:如果当前状态是禁用,如调用此方法会变成启用)
	 * @Title: updataDisablePermissionId   
	 * @Description: 禁用一条权限(注意:如果当前状态是禁用,如调用此方法会变成启用)  
	 * @param: @param permissionId
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int updataDisablePermissionId(int permissionId);
	
	/**
	 * 根据permissionId查询一条数据
	 * @Title: updataPermissionsByPermissionId   
	 * @Description: 根据permissionId查询一条数据 
	 * @param: @param permissionId
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	AdminPermission selectPermissionsByPermissionId(int permissionId);
	
	/**
	 * 删除一条权限
	 * @Title: deletePermission   
	 * @Description: 删除一条权限   
	 * @param: @param permissionId
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int deletePermission(int permissionId);
	
	
	/**
	 * 获取全部权限
	 * @Title: findPagingQuery   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @return      
	 * @return: LayUiResult      
	 * @throws
	 */
	LayUiResult findPagingQuery();
	
	/**
	 * 查询全部权限返回ztree需要的结构
	 * @Title: selectPermissions   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @return      
	 * @return: List<ZTreeResult> ztree的树形结构     
	 * @throws
	 */
	List<ZTreeResult> selectPermissions();
	
}
